package com.jlkf.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.jlkf.pojo.OrderItems;
import com.jlkf.view.OrderItemsAndDriver;
import com.jlkf.view.OA.OANoSettlementDetail;
import com.jlkf.view.OA.OAOrderItems;

public interface OrderItemsMapper {
    int deleteByPrimaryKey(Long id);

    int insert(OrderItems record);

    int insertSelective(OrderItems record);

    OrderItems selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(OrderItems record);

    int updateByPrimaryKey(OrderItems record);
    //订单详情
    List<OrderItems> getOrderItems(Map<String,Object> map);
    
    Integer getDriverOrderCount(Map<String,Object> map);
    
    OrderItemsAndDriver getOrderDetail(Map<String,Object> map);
    //查询生成订单最大号
   String selectMaxOrderNo(@Param("timess")String timess);
   //通过订单号查询订单
   OrderItems selectOrderByNo(String orderNo);
   //网站的我是乘客订单详情
   List<OrderItems> websiteOrderDetails(Map<String,Object> map);
   //oa 订单管理查询
   List<OAOrderItems> getOAOrder(Map<String,Object> map);
    //判断该用户是否有订单
    int isAnOrder(@Param("uId")Long uId);
    
   int  updateOrderStatus(Map<String,Object> map);
   
 //获取订单费用明细
   OrderItems getDetails(@Param("Long")Long orderId);
   
   List<OANoSettlementDetail> detailsOfSettlementOrder(Map<String,Object> map);
   //司机当天取消订单的次数
   String driversCancelledNum(Map<String,Object> map);
   //用户当天取消的次数
  String getUserCancelledCount(Map<String,Object> map);
  //用户未完成订单数量
  int getMyunPayment(Long uId);
//用户待支付订单数量
  int getMyunPayment1(Long uId);
  //司机未完成订单查询
 String driverUnfinished(Long driverId);
 //用户未被支付的订单
 List<OrderItems> notCheck(@Param("uId")Long uId);
 //没有支付 的记录 来判断这个用户是否是首次支付
 int notPay(@Param("uId")Long uId);
 //用户附近是否有服务concierge的司机
 List<Map>isNotConcierge();
 //是否有行程中的订单
 int getOrderCount(Map<String,Object> map);
   
}